function isSearch(s)   
{   
var patrn = /^[^`~!@#$%^&*()+=|\\\][\]\{\}'\<>\\\/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}'\<>?]{0,50}$/;
if (!patrn.exec(s)) 
{
	return false;
}
return true ; 
} 


// 选择所有的CHECKBOX
function common_selectAll(form,name) 
{ 
	for(var i=0;i<form.elements.length;i++) 
	{ 
		var o=form.elements[i]; 
		if(o.name==name) 
		{ 
			o.checked=true;  
		} 
	} 
} 

// 取消所有选择的CHECKBOX
function common_noselectAll(form,name) 
{ 
	for(var i=0;i<form.elements.length;i++) 
	{ 
		var o=form.elements[i]; 
			if(o.name==name) 
			{ 
				o.checked=false; 
			} 
	} 
} 	

// 设置跳转显示第几页面
function common_setPage(form,flg,dataRows,action,menuId,manageId,idCardNo)
{

	var flag = flg;
    var url = "";
	if(flag=="1"){
	
		document.getElementById("startpage").value ="0";
		document.getElementById("currpage").value ="1";
	}else if(flag=="2"){
		if (document.getElementById("currpage").value > "1"){
		  document.getElementById("currpage").value = eval(document.getElementById("currpage").value) - 1;
		  document.getElementById("startpage").value = (eval(document.getElementById("currpage").value)-1) * dataRows;
		}else{
			return false;
		}
		
	}else if(flag=="3"){
		var pages = document.getElementById("pageno").value;
	
		if (eval(document.getElementById("currpage").value) < pages){
			document.getElementById("currpage").value = eval(document.getElementById("currpage").value) + 1;
			document.getElementById("startpage").value = (eval(document.getElementById("currpage").value)-1) * dataRows;
		}else{
			return false;
		}
		
	}else if(flag=="4"){
		
		var pages = document.getElementById("pageno").value;
		document.getElementById("currpage").value = pages;
		document.getElementById("startpage").value = (eval(pages)-1)*dataRows;
		
	}else if(flag=="5"){
		var txtPage = form.txtPage.value;
		if (common_isNumber(txtPage)){
			document.getElementById("currpage").value = txtPage;
			document.getElementById("startpage").value = (eval(txtPage)-1)*dataRows;
		}else{
			alert("页数请输入数字");
			form.txtPage.select();
			return false;
		}
	}
	url = action + ".action?";
	if (menuId!=""){
		url +="id=" + menuId;
	}
	if(menuId==""){
		if(manageId!=""){
			url+="manageId=" + manageId;
		}
	}else{
		if(manageId!=""){
			url+="&manageId=" + manageId;
		}
	}
	if (menuId=="" && manageId==""){
		if (idCardNo!=""){
			url+="idCardNo=" + idCardNo;
		}
	}else{
		if (idCardNo!=""){
			url+="&idCardNo=" + idCardNo;
		}
	}

	form.action = url;
	form.submit();
}

/** ******************以下属于翻页公共部分******************************************************** */
	// 翻页输入框标识
	pageText = "off";
	
/*******************************************************************************
 * 函数说明：翻页输入框按下回车键 参 数: 输入框对象,查询总页数 返回值 ：无
 ******************************************************************************/
function common_enterKey(obj,pageNo) {
	if (pageText == 'off') {
		return "0"; 
	} else if (window.event.keyCode==13) {
		var ret = common_txtPageCheck(obj,pageNo);
		if(ret == "1") {
			return "1";
		} else if(ret == "-1"){
			return "-1";
		} else if(ret == "2"){
    		return "2";
    	}
	}
}
    
/*******************************************************************************
 * 函数说明：翻页输入框内容验证 参 数: 输入框对象,查询总页数 返回值 ：无
 ******************************************************************************/
function common_txtPageCheck(obj,pageNo) {
   	var value = common_trim(obj.value);
	obj.value = value;
	
	// 不能为空
	if(value == "") {
		return "2";
	}
		
	// 判断是否是整数
   	if(common_intCheck(value) == false) {
   		return "-1";
   	} else if(eval(value) <= 0) {
   		obj.value = "1";
   	}  else if(eval(value) > eval(pageNo)) {
   		obj.value = pageNo;   	
   	} else {
   		obj.value = eval(value);
   	}

   	return "1";
}

/*******************************************************************************
 * 函数说明：翻页输入框获取焦点时的操作 参 数: 输入框对象 返回值 ：无
 ******************************************************************************/
function common_txtPageFocus() {
	pageText='on';
}

/*******************************************************************************
 * 函数说明：翻页输入框失去焦点时的操作 参 数: 输入框对象 返回值 ：无
 ******************************************************************************/
function common_txtPageBlur() {
	pageText='off';
}

/** ******************以上属于翻页公共部分******************************************************** */

/*******************************************************************************
 * 函数说明：判断是否是整数 参 数: str 返回值 ：无
 ******************************************************************************/
function common_intCheck(str) {
   	// 整数正则表达式
   	var rr=/^-?\d+$/
   	if(!rr.test(str)) { 
    	return false;   
	}   

	return true;
}

// 删除一条或多条数据
function common_removeOne_or_many(form,name,ids_return)
{
	var flag=false; 
	var idArray="";
	
	for(var i=0;i<form.elements.length;i++) 
	{ 
		var o=form.elements[i]; 
		if(o.name==name && o.checked==true) 
		{ 		
			idArray=idArray + "," + o.id;
			flag=true;					 
		} 				 
	} 
	
	if(flag==false)
	{
		return false;
	}
	else
	{
		document.getElementById(ids_return).value=idArray;
		return true;
	}
}

// 跳转到添加页面
function common_add(act)
{
	showModalDialog(act,parent,'dialogWidth:300px;dialogHeight:200px;center:yes;help:no;resizable:no;status:no');
}

// 判断是否是回车键
function common_isEnterkey()
{
	if (event.keyCode==13)
	{
		return true;
	}
}	 

// 判断是否是backspace键
function common_isBackspacekey()
{
	if (event.keyCode==8)
	{
		return true;
	}
}

// 判断是否为空
function common_isEmpty(str)
{
	if (common_replaceSpace(str)=="")
	{
		alert("内容为空");
		return true;
	}
}

// 判断是否为数字
function common_isNumber(str)   
{    
	var Letters = "1234567890"; // 输入值是数字
	var i;   
	var c;  

	for( i = 0; i < str.length; i ++ )   
	{   
		c = str.charAt( i );  	         
	 	if (Letters.indexOf( c ) < 0) 
	 	{  
	        return false;   
	    }
	}      
	return true;   
}

// 判断是否为数字
function common_isNumber2(value)   
{    	         
 	if (value <= 57 && value >= 48) 
 	{  
        return true;   
    }  
    return false
}

// 判断是否为字母
function common_isLetter(value)  
{  
	var str = /[_a-zA-Z]/;  
	if(!str.test(value))  
	{  
		return false;
	}  
}

// 设备号码规则（数字，-,.）
function common_isDeviceId(value)
{
	var str = /^([0-9]|[.-])+$/;
	if(!str.test(value))
	{
		return false;
	}
}  

// 利用正则表达式删除字符串所有空格
function common_replaceSpace(str){   
    return str.replace(/\s/g,'');   
} 

// 利用正则表达式删除字符串两边空格
function common_trim(str){   
    return str.replace(/(^\s*)|(\s*$)/g,'');
} 


/*******************************************************************************
 * 函数说明：判断字符串长度是否超过最大值 参 数: str, maxlength 返回值 ：无
 ******************************************************************************/
function common_strlength(str,maxlength) {    
    var c;
    var len = 0;
    
    // 调用公共方法，去除所有空格
    str = common_replaceSpace(str);
    
       for(var i=0;i<str.length;i++) {  
        c = str.charCodeAt(i);    
        // 判断所指的字符是否是中文的，如果是中文的长度加2，如果不是长度加1；
        if(c >= 0 && c <= 128) {
   			len += 1;
   		} else {
   			len += 2;
   		}
   	}   
   	
   	if(len > maxlength) {    		
   		return false;
   	}   
   	return true;
} 

/*******************************************************************************
 * 函数说明：校验短日期(格式yyyy-MM-dd) 参 数: str 返回值 ：无
 ******************************************************************************/
function common_DateCheck(str) {
	var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
	if(r==null) {
		return false;
	} 
	return true;
}
	
/*******************************************************************************
 * 函数说明：校验短日期(格式yyyy-MM-dd HH:mm:ss) 参 数: str 返回值 ：无
 ******************************************************************************/
function common_DateTimeCheck(str) {
	var rr=/^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/   
	if(!rr.test(str)) {   
	    return false;   
	}   

	return true;
}	
/*******************************************************************************
 * 函数说明：文本框全选 参 数: 无 返回值 ：无
 ******************************************************************************/
function setFocus() 
{ 
	var obj = event.srcElement; 
	var rng =obj.createTextRange(); 
	var sel = rng.duplicate();
	sel.moveStart('character',obj.value.length); 
	sel.setEndPoint("EndToStart",rng); 
	sel.select(); 
} 
	

/*******************************************************************************
 * 函数说明：时间格式化函数(格式：yyyy-MM-dd和yyyy-MM-dd hh:mm:ss) 参 数: 无 返回值 ：无
 ******************************************************************************/
Date.prototype.format = function(format) {   
    var o = {   
	    "M+" : this.getMonth()+1, // month
	    "d+" : this.getDate(),    // day
	    "h+" : this.getHours(),   // hour
	    "m+" : this.getMinutes(), // minute
	    "s+" : this.getSeconds(), // second
	    "q+" : Math.floor((this.getMonth()+3)/3), // quarter
	    "S" : this.getMilliseconds() // millisecond
    }   
    if(/(y+)/.test(format)) format=format.replace(RegExp.$1,   
      (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
    for(var k in o)if(new RegExp("("+ k +")").test(format))   
      format = format.replace(RegExp.$1,   
        RegExp.$1.length==1 ? o[k] :    
          ("00"+ o[k]).substr((""+ o[k]).length));   
    return format;   
}

/*******************************************************************************
 * 函数说明：时间比较大小函数(格式：yyyy-MM-dd和yyyy-MM-dd hh:mm:ss) 参 数: 开始时间，结束时间 返回值 ：boolean
 ******************************************************************************/
function common_dateCompare(start_time,end_time) {
	var  tmpBeginTime = new Date(start_time.replace(/-/g,"\/"));
    var  tmpEndTime = new Date(end_time.replace(/-/g,"\/"));
 
    if (tmpBeginTime>tmpEndTime) {
       return false;
    } else {
    	return true;
    }    
}

/*******************************************************************************
 * 函数说明：控制文本框输入长度 参 数: 文本输入框，最大字节长度 返回值 ：无
 ******************************************************************************/
function common_limitLength(obj,maxlength) {
	var c;
    var len = 0;
    var count=0;
	var sum =0;
	// 切除两边空格
    str = common_trim(obj.value);
    obj.value = str;

    if(obj.maxLength!=2147483647){
    	if(str.length<obj.maxLength || common_lengthRet(str)<maxlength){
	    	obj.maxLength=2147483647;
    	}else{
    		return;
    	}
    }
    
    for(var i=0;i<str.length;i++) {  
        c = str.charCodeAt(i);    
        // 判断所指的字符是否是中文的，如果是中文的长度加2，如果不是长度加1；
        if(c >= 0 && c <= 128) {
            count+=1;
   			len = 1;
   		} else {
   		    count+=1;
   			len = 2;
   		}
   		
   		sum+=len;
		if(sum>maxlength){
			obj.value= str.substring(0,count-1);
			obj.maxLength=count-1;
   			break;
		}
	 }
}

/*******************************************************************************
 * 函数说明：计算字符串长度 参 数: str 返回值 ：无
 ******************************************************************************/
function common_lengthRet(str) {    
    var c;
    var len = 0;

    for(var i=0;i<str.length;i++) {  
	    c = str.charCodeAt(i);    
	    // 判断所指的字符是否是中文的，如果是中文的长度加2，如果不是长度加1；
	    if(c >= 0 && c <= 128) {
			len += 1;
		
		} else {
			len += 2;
		}
	}   
   	
   	return len;
}
/*******************************************************************************
 * 函数说明：去session中urlList的最后一条数据的url值 参 数: paraUrl 返回值 ：returnUrl
 ******************************************************************************/
function common_getReturnUrl(paraUrl){
    var url = paraUrl;
    url=url.substring(1,url.length-1);
	var urlList=url.split(","); 
	var returnUrl = urlList[urlList.length-1];
	returnUrl = returnUrl.replace(/&amp;/g,"&");
	return returnUrl;
}
/*******************************************************************************
 * 函数说明：判断半角 参 数: str 返回值 ：无
 ******************************************************************************/
function common_halfAngle(str) {    
    var c;
    
    for(var i=0;i<str.length;i++) {  
	    c = str.charCodeAt(i);    
	    // 判断所指的字符是否是中文的，如果是中文的长度加2，如果不是长度加1；
	    if(c > 128) {
			return false;
		}
	}   
   	
   	return true;
}

/*******************************************************************************
 * 操作ini文件开始
 ******************************************************************************/
String.prototype.trim = function(){
    return this.replace(/(^\s+)|(\s+$)/g,'');
};
IniConfig=function(iniFileName){
    this.iniFileName = iniFileName;
    this._iniSecDictionary = new Array();
    this.fso = new ActiveXObject("Scripting.FileSystemObject");
}

function checkFile(iniFileName) {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    if(fso.FileExists(iniFileName)) {
        fso = null;
        return true;
    } else {
    	fso = null;
    	return false;
    }
}

IniConfig.prototype.load = function(){
    var currSecName = null;
    var fs = this.fso.OpenTextFile(this.iniFileName,1);
    while(!fs.AtEndOfStream) {
        var strLine = fs.ReadLine();
        if(strLine.length > 0) {
            var firchCh = strLine.substr(0,1).trim();
            if(firchCh != ';') {
                if(firchCh == '[') {
                    var secName = strLine.substr(1,strLine.length - 2);
                    currSecName = secName;
                    this._iniSecDictionary[secName] = new Array();
                } else {
                    var idx = strLine.indexOf('=');
                    var strKey = strLine.substring(0,idx);
                    var strVal = strLine.substr(idx + 1);
                    if(currSecName == null) {
                        fs.Close();
                        fs = null;
                        return false;
                    }
                    this._iniSecDictionary[currSecName][strKey] = strVal;
                }
            }
        }
    }
    fs.Close();
    fs = null;
}

IniConfig.prototype.get = function(secName,keyName) {
    var dic = this._iniSecDictionary;
    try {
        return dic[secName][keyName];
    } catch(e) {
        return '';
    }
}
/*******************************************************************************
 * 操作ini文件结束
 ******************************************************************************/

/*******************************************************************************
 * 函数说明：校验短日期(格式hh:mm:ss) 参 数: str 返回值 ：无
 ******************************************************************************/
function isTime(str)   
{   
  var time = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);   
  if (time == null) {alert('输入的参数不是时间格式'); return false;}   
  if (time [1]>24 || time[3]>60 || time[4]>60)   
  {   
    alert("时间格式不对");   
    return false  
  }   
  return true;   
}
/*******************************************************************************
 * 函数说明：校验短日期(格式hh:mm:ss) 参 数: str 返回值 ：无
 ******************************************************************************/
 function compareTime(t1, t2) 
 {	  var a =  t1;
	  var b =  t2;
	  var d = new Date(a);
	  var e = new Date(b);
	  if (t1 > t2) {
	   return false;
	  } else {
	   return true;
	  }
}
 
 function timecheck(){	 
	 var timeout=3000;// 单位秒
	 var timecount = 0;// 时间计数
 if(timecount<timeout){   
     timecount++;   
     setTimeout("timecheck()",1000);   
 }else{ 
     alert("你已经超时，请重新登陆！");
     // window.open("logout.action","_self","fullscreen=yes");
     var w=window.parent.screen.availWidth-10;
     var h=window.parent.screen.availHeight-30;
     this.window.opener=null;
     this.window.close();

     // this.window.open('login.jsp','null');
     parent.window.open('login.jsp',"null","fullscreen=no,channelmode=no,toolbar=yes,location=yes,directories=no,status=no,menubar=yes,resizable=yes,width="+w+",height="+h+",top=0,left=0");      
 
     // document.idCard2CheckInfo.action="logout.action";
     // document.idCard2CheckInfo.target="window";
     // document.idCard2CheckInfo.submit();

    parent.window.opener=null;
    parent.window.close();
     // parent.window.close();
 }   
 } 
